/**
* \brief Implementation of 'Object Factory' design pattern.
*	 Header file with auxilliary classes.
* \author Bartosz Kedra (bartosz.kedra@gmail.com)
*/
#include <iostream>

class Worker
{
public:
	enum Type { Season, Specialist, Director };
	virtual void write(std::ostream &os) = 0;
	virtual void read(std::istream &is) = 0;
};

class SeasonWorker: public Worker
{
public:
	void write(std::ostream &os) 
	{
	os << Season;
	}	
	void read(std::istream &is)
	{
	
	}
};

class SpecialistWorker : public Worker
{
public:
	void write(std::ostream &os) 
	{
	os << Specialist;
	}	
	void read(std::istream &is)
	{

	}
};

class DirectorWorker : public Worker
{
public:
	void write(std::ostream &os) 
	{
	os << Director;
	}	
	void read(std::istream &is)
	{

	}
};



